
// 导入wechat-validate
import wxValidate from 'wechat-validate'

Page({
  // 将插件注入到页面实例中
  behaviors: [wxValidate],
  // 定义表单数据验证规则
  rules: {
    mobile: [
      // required: true为必填项
      {required: true, message: '请填写手机号码!'},
      // pattern正则检验
      {pattern: /^1[3-8]\d{9}$/, message: '请填写正确的手机号码!'}
    ],
    code: [
      // required: true为必填项
      {required: true, message: '请填写验证码!'},
      // pattern正则检验
      {pattern: /^\d{6}$/, message: '请填写6位验证码!'}
    ],
  },
  data: {

    countDownVisible: false,
    mobile:'',
    code:'',
  },
  onLoad(query){
    // 拿到个人信息也传递的页面参数,即路由地址
    this.query = query
    console.log('query',query);
  },
  // bind:change倒计时变化时
  countDownChange(ev) {
    this.setData({
      // 倒计时组件数据
      timeData: ev.detail,
      // 是否显示倒计时组件
      countDownVisible: ev.detail.minutes === 1 || ev.detail.seconds > 0,
    })
  },
  // 点击获取验证码
  async getSMScode(){
    // 校验通过后才发验证码
    const {valid,message} = this.validate('mobile')
    // console.log(val);
    // console.log('获取验证码');
    if (valid) {
      // 显示倒计时组件
      this.setData({
        countDownVisible:true,
      })
      // 发送请求,获取验证码
      const res = await wx.http.get('/code',{mobile:this.data.mobile})
      console.log(res);
    } else {
      wx.utils.toast(message)
    }
    
  },
  
  // 登录表单提交
  async onSubmit(){
    const {mobile,code} =this.data
    // console.log('{mobile,code}',{mobile,code});
    // wx.request
    
    // 校验所有信息
    const isValidate = this.validate()
    if (isValidate) {
    // 发送请求
    const res = await wx.http.post('/login',{mobile,code})
    // console.log('res',res);
    // if(res.code !==10000) {
    //   return wx.utils.toast(res.message)
    // }
    // 校验失败会自动弹窗
    // 保存到全局app中
    const app = getApp()
    // app.token = res.data.token
    // 保存到本地
    // wx.setToken('token', res.data.token)
    // 使用setToken方法
    app.setToken('token', res.data.token)
    app.setToken('refreshToken', res.data.refreshToken)
    console.log('this',this);
    console.log('query',this.query);
    // 页面回跳
    wx.navigateBack({delta:1})
    // wx.redirectTo({
    //   url: this.query.redirectUrl,
    // })
    }
  }
})
